home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr11
/
rrhelp.zip
/
RRMAST.TCH
Wrap
Text File
|
1993-06-17
|
11KB
|
303 lines
To: ALL
From: KENTON HENSLEY
Subj: UPDTE FLD IN FIL DUR ENTR
Conf: ZACHARY 5 (2) Msg # 1515
Date: 05/18/92 (PUBLIC)
To Barbara Dunn or anyone:
I'm using R&R and want to give the user a choice of destination for the
report they are going to print. I have defined a B-type PROC with
a screen that provides access to the R&R RRUNIN.DBF for the report name
(RI_REPORT) and the printer destination field (RI_PRINTER). RI_PRINTER
is defined as an O-type. The last field in the procedure is a U-type
field that calls my function which calls R&R.
The difficulty is that after the user picks a destination for the
report (1,2 or D for Display) the RRUNIN.DBF must be updated
immediately. How is this done? I've tried adding a line to the U-type
field:
_FIELD->RI_PRINTER:=mri_printer or
RRUNIN->RI_PRINTER:=mri_printer
- neither of these works and I've phutsed(?) with some frustration with
several other ideas. What do I do?
Thanks for any help,
Kenton
▀ Message Sent Via THE INTERCOM ver. 1.09a Zachary Speaks! ▀
To: KENTON HENSLEY
From: BOB STEWART
Subj: UPDTE FLD IN FIL DUR ENTR
Conf: ZACHARY 5 (2) Msg # 1519
Date: 05/18/92 (PUBLIC)
Kenton,
Call a "U" type field after you do the pop-up. Use the RRUNIN.dbf
and replace the value of RI_PRINTER with the value.
I normally use a single record database to do the work for me. I
save any report filter parameters and the printer destination.
Remember, if it is on a network use the file in exclusive mode.
The following is the code extract from one of my "U" type fields:
save screen
select 2
use PRTINVD exclusive
select 1
use RRUNIN exclusive
go 13
replace RI_QUERY with "O"
replace RI_PRINTER with PRTINVD->printer
replace RI_FILTER with "dtoc(SALEORD->ShipDate) >= '" +
dtoc(PRTINVD->SDate) + "' .and. dtoc(SALEORD->ShipDate) <= '" +
dtoc(PRTINVD->EDate) + "'"
close databases
run rruntime rrunin 13
restore screen
Before you close the databases you can reset the values in the PRTINVD
file so you can reprint the same range over again.
Hope that this is a help.
Bob
▀ Message Sent Via THE INTERCOM ver. 1.09 Zachary Speaks! ▀
To: KENTON HENSLEY
From: ART VANHECKE
Subj: UPDTE FLD IN FIL DUR ENTR
Conf: ZACHARY 5 (2) Msg # 1521
Date: 05/18/92 (PUBLIC)
>is defined as an O-type. The last field in the procedure is a U-type
>field that calls my function which calls R&R.
>
>The difficulty is that after the user picks a destination for the
>report (1,2 or D for Display) the RRUNIN.DBF must be updated
>immediately. How is this done? I've tried adding a line to the U-ty
Kenton,
I think you have the right idea, but your timing is off. Leave the
b-type alone, it seems to be working ok.
Change the execution point of the u-type field that calls R&R to EX,
that's AFTER EXITING the procedure.
The idea of accessing the RRUNIN.dbf file with the B-type is good. In
addition to allowing you to change the file easily, it will also
protect the program if someone inadvertantly deletes the RRUNIN.dbf
(Zach will recreate the deleted file). I wouldn't say it if it hadn't
happened.
--Art
▀ Message Sent Via THE INTERCOM ver. 1.09 Zachary Speaks! ▀
To: DICK BERTI
From: RICHARD HAMILTON
Subj: ZACHARY SPEAKS PROBS
Conf: MAIN BOARD (0) Msg # 3841
Date: 04/30/92 (PUBLIC)
We've found the R&R system, with RRUNIN.DBF defined in Zach, works
great because you can then do the reports with an E-procedure and look
up things like the report name from the RRUNIN via a standard Zach file
validation.
Hide the RRUNIN itself from the user by making it a rather elusive hot
key (like ALT-F5) and if you want more protection add either a complete
security system or a little tiny one known only to you, such as a
condition for access:
if(zget(23,2,' ','Enter Password','@!')='RHOK',.t.,
zerrorbeep('Invalid Password'))
(This, of course, is all typed on one line in the Condition for Access
field.)
This worked very well for us, although the password is hard-coded
(RHOK), but if someone really wants to get in and screw things up I'm
sure they could anyway, what with dBase and all.
Richard
▀ Message Sent Via THE INTERCOM ver. 1.09 Zachary Speaks! ▀
To: DICK BERTI
From: ART VANHECKE
Subj: ZACHARY SPEAKS PROBS
Conf: MAIN BOARD (0) Msg # 3968
Date: 05/04/92 (PUBLIC)
Dick,
I have always used R&R as my report writer for Zach. I generally use
the same format as you, but I usually let the user do as many reports
as he wants and then let R&R do all the reports at once.
I don't know if you use Blinker 2.0 or not but there is a new function
that does the same thing as RRUNTIME.exe. This function is called
SWPRUNCMD() and is faster than RRUNTIME.
Instead of RUN RRUNTIME RRUNIN
You could use SWPRUNCMD("RRUNTIME RRUNIN",0,"","")
which would work OK but would cause redundant swapping;
I use SWPRUNCMD("RRUN RRUNIN",0,"","")
which brings in R&R a lot faster than RRUNTIME.
Just thought you would like to know.
--Art
▀ Message Sent Via THE INTERCOM ver. 1.09 Zachary Speaks! ▀
To: DENNIS COURTNEY
From: RICHARD HAMILTON
Subj: R&R CG FUNC. & GENERAL
Conf: ZACHARY 5 (2) Msg # 1533
Date: 05/20/92 (PUBLIC)
Dennis,
A couple of things you should know regarding R&R...
1. Don't call runtime with the RRUNTIME call if you're using
Overlay(). Use RRUN instead, same parameters.
2. R&R recreates the database by writing the selected data out to
file, then prints from that data. Disk caching software will speed
that process up considerably.
Richard
▀ Message Sent Via THE INTERCOM ver. 1.09a Zachary Speaks! ▀
To: DICK BERTI
From: RICHARD HAMILTON
Subj: ZACHARY SPEAKS PROBS
Conf: MAIN BOARD (0) Msg # 4035
Date: 05/06/92 (PRIVATE)
Dick,
Implementing a complete R&R interface in a Zachary Application:
1. Create a B-type option and import the field structures from the
RRUNIN file. I generally make this a hot key procedure rather than
a menu option so it's available only by the secret hot-key. Here you
can directly edit RRUNIN fields as desired, set up new reports, and
(most important) teach Zach what the RRUNIN file is!
2. Create an E-option from which to run reports. Use a field for
report name and use File Validation into the RRUNIN file to select the
desired report name.
3. Put an extra field in the RRUNIN file in which you can code the
desired parameter edits for a particular report (This keeps the system
flexible). For example, a field named UPDATES could carry codes like:
INVDATE -- Indicating an edit to the scope specs for Invoice date.
CUST -- Indicating that you will select the customer for the
report.
or, INVDATE/CUST would indicate you would check both!
4. Set up the necessary fields in the E-procedure to get user input
for the job specs, Use standard Zachary validations, File validation,
etc., to get data input right. Use Condition For Access to limit edits
to the appropriate fields ("INVDATE"$RRUNIN->UPDATES). Remember to get
the printer spec... you can use a Zachary O-type for this. (And if you
allow writing to a file, get the file name.)
5. Set up additional fields to take the user input and re-form it to
the character strings you want to replace into the RRUNIN file.
Specify updates to RRUNIN.
6. Write a user field to be executed AFTER UPDATE that will make the
call to R&R Runtime, like you normally would. I always use Greg
Martin's OVERLAY() library to maximize memory available. Remember
you'll need to save and restore the screen.
I've used this technique a number of times in applications and it
works great... it's especially nice for situations when you go back
into the field to add or edit a report, provided you have the proper
edits available. I've even had occasion to add RRUNIN fields for
listing code blocks with functions to run before and after the R&R
call. You can do almost anything then, provided you linked in adequate
functions!
We've found the R&R system, with RRUNIN.DBF defined in Zach, works
great because you can then do the reports with an E-procedure and look
up things like the report name from the RRUNIN via a standard Zach
file validation.
Hide the RRUNIN itself from the user by making it a rather elusive hot
key (like ALT-F5) and if you want more protection add either a
complete security system or a little tiny one known only to you, such
as a condition for access:
if(zget(23,2,' ','Enter Password','@!')='RHOK',.t.,
zerrorbeep('Invalid Password'))
(This, of course, is all typed on one line in the Condition for Access
field.)
This worked very well for us, although the password is hard-coded
(RHOK), but if someone really wants to get in and screw things up I'm
sure they could anyway, what with dBase and all.
Richard
▀ Message Sent Via THE INTERCOM ver. 1.09a Zachary Speaks! ▀
To save your screens from death upon return from an R&R report
called from a U_type field, use the following format in the U-type
field:
save screen
<call the R&R report>
restore screen
To: LEN DOZOIS
From: STEPHEN REED
Subj: ZACH 2 WISH
Conf: MAIN BOARD (0) Msg # 7243
Date: 09/10/92 (PUBLIC)
A suggestion for zach 2, would it be possible to be able to use special
indexes through RDD such as the new one from nantucket.
I am currently using the E procedure to create a temporary file which I
than send to RR to print. If I could just define a sub index for RR it
would be MUCH faster and my customer would not be nearly SO UNHAPPY.
Also for your information I recently installed a Summer 87 application
on my first Novell Lite Installation. Had some very strange problems
having to do with looking at a data base file. Finally changed to
Lantastic Ethernet Installation and the problems went away. Beware of
Novell Lite and Clipper Applications!!!
▀ Message Sent Via THE INTERCOM ver. 1.09 Zachary Speaks! ▀